#ifndef MODULESMODELITEM_H
#define MODULESMODELITEM_H

#include <QObject>
#include <QVariant>
#include <QVector>

class QTreeModelItem : public QObject
{
	Q_OBJECT

protected:
	typedef QVector<QTreeModelItem*> ItemsVector;

public:
	QTreeModelItem(QTreeModelItem* pItem, QObject *parent);
	~QTreeModelItem();

public:
	size_t itemsCount() const;

	QTreeModelItem* item(size_t index) const;
	QTreeModelItem* parentItem() const;
	
	void addItem(QTreeModelItem* tItem);

	virtual QVariant data(size_t column, int role = Qt::DisplayRole) { return QVariant(); }

	size_t indexOf(QTreeModelItem* tItem) const;
	size_t index();

private:
	ItemsVector _vector;
	QTreeModelItem* _parent;

};

#endif // MODULESMODELITEM_H
